﻿using System;
using System.Windows;
using Dsl.Ped.Framework.Common;

namespace Dsl.Ped.Framework.Projections.ValueProjections
{
    /// <summary>
    /// Interface that must be implemented by any value-based projections
    /// </summary>
    /// <typeparam name="T">Type of the projection (like TextBox, Label, etc.)</typeparam>
    public interface IValueProjectionHint<T> : IProjectionHint<T>
        where T : FrameworkElement, new()
    {
        /// <summary>
        /// Gets the type of the projection
        /// </summary>
        Type ProjectionType { get; }

        /// <summary>
        /// Gets the dependency property to which the value is bound
        /// </summary>
        DependencyProperty ValueProperty { get; }
    }
}
